Zugriff auf einzelne Knoten im Baum

Im Rahmen einer forEach Schleife bekommt man Zugriff auf einzelne Elemente eines Sichtenbaums.

Für die einzelnen Knoten kann FreeMarker wiederum mittels Java-Reflection auf bestimmte Methoden zugreifen.

 

id, name ? Zugriff auf den Schlüssel und den Namen des Knotens

 

Insert into tmp_erg (fikr , betrag )

SELECT  "${eineKostenart.id}" || " " || "${eineKostenart.name}", sum(betrag)

FROM tmp_busa

?

 

subkeys ? liefert eine Liste mit dem Schlüssel des aktuellen Knotens (z.B. Personalkosten '1') und aller seiner Unterknoten (z.B. '11','12') (auch von versteckten Knoten!)

 

Insert into tmp_erg (fikr , betrag )

SELECT  "${eineKostenart.id}" || " " || "${eineKostenart.name}", sum(betrag)

FROM tmp_busa

where fikrkey in <@printkeys eineKostenart.subkeys}

group by 1 ;

Bei Kostenstellen-Sichten werden nur die erlaubten Knoten ausgegeben,

z.B.

root-Hochschule (Auswahl)

  fak-Fakultäten (Auswahl)

    1-fak1 (Auswahl)

       11-Institut 1

        13 ? Institut 3

wenn nichts ausgewählt wurde, root, fak, oder fak1 wird trotzdem nur 11,13 als subkeys ausgegeben, weil nur die selbst erlaubt sind. -> bei foreach (Methode elements ist es anders root, fak, fak1 werden auch mit durchlaufen, weil (Teil)summenzeilen interessant sein können

 

strukturInt,strukturStr  - beschreibt Art oder Struktur des Knotens

Beispiel: orgstruktur im Organigramm beschreibt, ob ein Knoten eine Lehreinheit oder ein Fachbereich ist (20 bzw. 30)

Diese Strukturinformation ist im Knoten hinterlegt, sofern beim Einlesen der Sicht an Postition 4 und/oder 5 etwas angegeben wurde

(z.B. select name,key_apnr,parent,orgstruktur from organigramm).

Sie kann z.B. für if-Abfragen zur Aggregierung benutzt werden.

 

<#foreach eineInstitution in Institutionen>

   <#if Aggregierung="stark" and eineInstitution.strukturInt=30>

   ...

   <#else>

   ..

   </#if>

</#foreach>

 

nodeattrib ? ein Knotenattribut

wenn null oder 0: Knoten ganz normal, 1 versteckt, 2 nicht selektierbar im Baum


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 35 / 102
Letzter Update: 17.06.2008
Impressum